# IT-Planet_Network_2_Vinogradov

Репозиторий для 2 этапа конкурса Современные сетевые технологии

1. Для доступа к flask по имени необходимо добавить соответствующую запись в файл `/etc/hosts`. Для этого необходимо сделать файл **hosts_add.sh** исполняемым.

Например, находясь в директории с файлом, введите в терминале

```bash
sudo chmod +x ./hosts_add.sh
```

и запустите его

```bash
sudo ./hosts_add.sh
```

2. В случае, если по какой-либо причине во время исполнения _docker-compose up_ не удается загрузить образ docker Flask из docker hub, его можно собрать самостоятельно. Для этого, находясь в папке **app**, выполните в терминале

```bash
sudo docker build -t scriptoxin/flaskapp:1.0 .
```

3. Сервис согласно заданию должен быть доступен по https://flask:5000, поэтому, помимо правки hosts, необходимо получить сертификаты для ssl. Сделать это можно, например, сгенерировав их с использованием openssl и указав желаемые параметры. В репозитории размещен файл ssl_setup.sh с необходимой конфигурацией, так что достаточно выполнить

```bash
./ssl_setup.sh
```

После этого будут сгенерированы файлы cert.pem и key.pem, которые, как и nginx.conf, при выполнении _docker-compose up_ будут помещены в соответствующие тома

4. Наконец все приготовления завершены, можно выполнять

```bash
sudo docker-compose up
```

Наш сервис (несколько его реплик) теперь доступны по https://flask:5000. Кроме того, работает балансировка (используется least connections для демонстрации, хотя в NGINX по умолчанию, даже без указания чего-либо, используется Round Robin)
![alt text](result.jpeg 'result')
